#include <iostream>

using namespace std;

class counter {
private:
	int aufrufe;
public:
	counter() {
		aufrufe = 0;	
	};
	void erhoehen() {
		aufrufe++;
	};
	void ausgeben() {
		cout << "Aufrufe von fib: " << aufrufe << endl;	
	};
};

int fib(int anzahl);

counter fibCounter;		// boeses globales Objekt

int main() {
	const int stelle = 5;
	int bla = fib(stelle);
	cout << endl << "fib(" << stelle << "): " << bla << endl;
	
	fibCounter.ausgeben();
	return 0;
}

int fib(int x) {
	fibCounter.erhoehen();

	if (x <= 1)
		return 1;
	else
		return (fib(x-1) + fib(x-2));
}